Nutrient Value Loss Tracking System and Method

ABSTRACT

A system and method include exploding a recipe via a computer system for a process to make an end food product into a set of hierarchical process steps, obtaining nutrient values for each input material to be used in making the end food product, obtaining loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process, and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.

RELATED APPLICATION

This application claims priority to U.S. Provisional Application Ser. No. 61/864,773 (entitled Nutrient Value Loss Tracking System and Method, filed Aug. 12, 2013) which is incorporated herein by reference.

BACKGROUND

During a manufacturing process of a product, nutrients are destroyed due to process steps like heating. This destruction of nutrients is called process loss, as less nutrient value is available in the end product than the sum of the nutrient values of the product's input specifications. Nutrients can also be destroyed due to storage of a product. This destruction is called storage loss. Prior loss calculations are only taken into account after nutrient values have been calculated for the end product. However, these calculations may not take into account losses that occur during storage of semi-finished products.

SUMMARY

A method includes exploding a recipe via a computer system for a process to make an end food product into a set of hierarchical process steps, obtaining nutrient values for each input material to be used in making the end food product, obtaining loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process, and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.

A computer readable storage device has instructions for causing a computer to perform a method. The method includes exploding a recipe via a computer system for a process to make an end food product into a set of hierarchical process steps, obtaining nutrient values for each input material to be used in making the end food product, obtaining loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process, and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.

A system includes a processor and a storage device coupled to the processor. The storage device has a program to perform a method when executed by the processor. The method includes exploding a recipe via a computer system for a process to make an end food product into a set of hierarchical process steps, obtaining nutrient values for each input material to be used in making the end food product, obtaining loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process, and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block flow diagram of components that perform a nutrient loss calculation according to an example embodiment.

FIG. 2 is a block diagram of a system to perform a nutrient loss calculation according to an example embodiment.

FIG. 3 is a table illustrating recipes illustrating ingredients, process loss profiles, and storage loss profiles according to an example embodiment.

FIG. 4 is a table illustrating materials used along with nutrient values according to an example embodiment.

FIG. 5 is a table illustrating nutrient loss profiles according to an example embodiment.

FIG. 6 is a graph illustrating input and output flows according to an example embodiment.

FIG. 7 is a graphical representation of an explosion of a recipe according to an example embodiment.

FIG. 8 is a graphical representation of an explosion of a recipe according to an example embodiment.

FIG. 9 is a system internal representation of a result of an explosion of a recipe according to an example embodiment.

FIG. 10 is a table illustrating a sample nutrient calculation for vitamin C according to an example embodiment.

FIG. 11 is a table illustrating a storage loss calculation for vitamin C according to an example embodiment.

FIG. 12 is a block diagram of a computer system for performing methods and calculating losses according to an example embodiment.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description of example embodiments is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.

The functions or algorithms described herein may be implemented in software or a combination of software and human implemented procedures in one embodiment. The software may consist of computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system.

During a manufacturing process of a food product, nutrients are destroyed due to process steps like heating. This destruction of nutrients is called process loss as less nutrient value is available in the end product than the sum of the nutrient values of the product's input specifications. Nutrients can also be destroyed due to storage of a product. This destruction is called storage loss.

Prior nutrient losses are only taken into account after the nutrient values are already calculated for the end product. But process and storage loss happen in between at different process steps or stages of manufacture and also at semi-finished product levels. The process/storage loss calculation is a hierarchical loss calculation utilizing a specification description containing information about the nutrient values of each input material used in making the product. Each process step used to make the product has an associated loss profile that contains information regarding how much nutrient value is lost in the step. With the loss profile information and the specification information of each input material, a loss calculation may be done.

In one embodiment, a computer executable application 100 is illustrated in block form in FIG. 1, and performs a loss calculation that contains four functional blocks. A recipe explosion block 110 explodes a recipe down to raw specifications like sugar. That means that if an input specification is a semi-finished product then the explosion searches for the corresponding recipe of the product and drills into their input materials.

A specification determination block is shown at 120. For each raw specification the nutrient values are determined by specification block 120. An existing application may be used to obtain correct nutrient values.

A loss profile determination block is shown at 130. For each recipe output or stage output the assigned loss profile is determined by loss profile determination block 130. An environmental health and safety application may be used to get the profile values, e.g. that 10% vitamin C gets lost during a process step. Other sources of information may also be utilized to determine profile values, such as studies conducted by universities and other research institutions in further embodiments.

A hierarchical loss calculation block is shown at 140. Out of the explosion result, the nutrient values of each specification and the loss profile information the nutrient value for the primary output is calculated in a hierarchical manner using block 140. Some parts of an existing application program nutrient calculation method may be reused or enhanced for the new hierarchical loss calculation block 140.

FIG. 2 illustrates a system that includes a nutrient calculator system 210, enterprise resource planning system 220, specification input 230, and label printer 240. The nutrient calculator system 210 receives a recipe from the enterprise resource planning system 220 and uses it, along with a specification input 230 to perform the hierarchical nutrient loss calculation. The specification input 230 may include a data entry device to enter specifications for various ingredients used in the recipe as obtained from different sources, such as vendors. The input 230 may be from a vendor system coupled by network in some embodiments. The label printer 240 receives a label with final calculated nutrient content for printing food labels required by various regulations.

The following example illustrated in table 300 in FIG. 3 is helpful to explain the loss calculation. Table 300 includes several columns indicating a recipe number 310, stage number 315, item type 320, specification identifier 325, quantity 330, UOM (unit of measure) 335, process loss profile identifier 340, and storage loss identifier 345. Table 300 includes various item types 320 such as PO—primary output, IN—input item, IS—input stream, and OS—output stream. Table 300 columns provide information utilized for the loss calculation.

Separate tables are provided for the specification of materials at 400 in FIG. 4 showing a specification identifier 410, nutrient 415 and quantity 420, and a loss profiles table at 500 in FIG. 5 showing a profile identifier 510, nutrient 515 and associated loss 520.

There are three recipes. Two of them do not contain a process step. One contains two process steps with an output stream on a second stage which is consumed in the first stage. There is no fork and join or rework in this example, however, forks and joins may be accommodated in further embodiments. The maintenance of process and storage loss profiles on stage level may be done via databases, and accessed via processes executing on a computer system in some embodiments.

The recipe explosion in one embodiment may be based on a graph and matrix calculation. The graph illustrated at 600 in FIG. 6 shows an algorithm having input and output flows between recipes indicated at (A) 610, (B) 615, and (C) 620. Recipe B at 615 outputs B_(OUT) at 625, which is split into two inputs. A first input, B_(IN)A at 630 is received by recipe A at 610. The remainder of B_(OUT) is provided as B_(IN)C to recipe C at 620, which produces C_(OUT) at 640 which is provided as C_(IN)A to recipe A at 610.

If the recipe explosion determines a recipe that contains streams then this recipe is exploded itself as shown in FIG. 7 at 700. According to this algorithm the example described above contains two graphs, a first graph 710 and a second graph 715. The first graph 710 for the explosion of recipe 2 is used to bring all quantities of recipe 2 to the quantity of the primary output M2. The result of that explosion is than represented in the second graph 715 for the whole explosion as the primary output of recipe 3 at 720 only brings 15 G into recipe 2 instead of 30 G.

FIG. 8 is a graph illustrating an explosion of a recipe at 800 resulting in an output, y. In order to get the aggregated component list for each component, factors for the outputs have to be calculated. A factor of an output reflects the sum of the weighted quantities where this output serves as an input. According to this rule an equation system with n equations and n factors is built up. The effort of this calculation is the calculation on real quantities, because with the calculated factor also components with unit of measurement “piece” can be multiplied. The only restriction for building the equation system is the same unit of measurement.

The algorithm is the following

B _(out) A=ΣB _(in) X×f _(X)

B_(out)A corresponds to the primary output of recipe B. Since B is used by both A and C, the summation corresponds to both of such recipes times a factor f_(X) to account for measurement conversions. According to that the equation system is the following:

B _(out) ×F _(B) =B _(in) A×f _(A) +B _(in) C×F _(C)  I)

C _(out) ×F _(C) =C _(in) A×f _(A)  II)

A _(out) ×F _(A) =y  III)

With the equations a matrix can be built:

${\begin{pmatrix} {- B_{out}} & {B_{in}A} & {B_{in}C} \\ 0 & {C_{in}A} & {- C_{out}} \\ 0 & 0 & A_{out} \end{pmatrix} \times \begin{pmatrix} f_{B} \\ f_{C} \\ f_{A} \end{pmatrix}} = \begin{pmatrix} 0 \\ 0 \\ y \end{pmatrix}$

The Matrix may be transformed into reduced row echelon form. Afterwards the factors can be calculated through back substitution. In the end the formulas have to be calculated with their factor.

For the example this means:

$\begin{matrix} {{100 \times f_{R\; 3}} = {15 \times f_{R\; 2}}} & \left. I \right) \\ {{100 \times f_{R\; 2}} = {90 \times f_{R\; 1}}} & \left. {II} \right) \\ {{{100 \times f_{R\; 1}} = 100}{{\begin{pmatrix} {- 100} & 15 & 0 \\ 0 & {- 100} & 90 \\ 0 & 0 & 100 \end{pmatrix} \times \begin{pmatrix} f_{R\; 3} \\ f_{R\; 2} \\ f_{R\; 1} \end{pmatrix}} = \begin{pmatrix} 0 \\ 0 \\ 100 \end{pmatrix}}{f_{R\; 1} = 1}{f_{R\; 2} = 0.9}{{f_{R\; 3} = 0},135}} & \left. {III} \right) \end{matrix}$

Therefore the result of the explosion in a system internal representation of similar information from Table 300 is shown in a Table 900 in FIG. 9.

RFO_GUID 910 is the recipe id, ST_ID 915 is the stage id, SUBID 920 is the specification ID, FLG_PO 925 is a flag for the primary output, STREAM_PO 930 is a flag for the stream output, UOM 935 is unit of measure and QUANT_AGGR 940 is a quantity aggregation amount. In the current explosion the lines for the input and output stream S1 at 725 would not be there but the lines are very important for the new calculation. Therefore a new type of explosion with a new class implementation behind has to be created which brings out all intermediate streams.

The specification determination is reused as only the nutrient values per specification is retrieved in one embodiment, which is similar to prior calculations around nutrients.

For the loss profile determination, the profile settings determination can be reused. As a profile is a specification the specification determination may be used. A new loss profile assignment determination may be used. With the result of the explosion, each involved primary output and stream output can be identified. Afterwards a recipe application programming interface can be asked for the assigned loss profile.

With all the information about the explosion, the nutrient values per specification, the assigned loss profiles and the loss profile settings, the calculation can be done item by item with summation on each stage and recipe output.

In mathematical theory this means:

NutrientValueInclProcessLoss_(Primary Output)=Σ(NutrientValue_(InputItem)×ProcessLoss)

In case the input item is not produced in an underlying recipe then the term NutrientValue_(InputItem) is the following:

${NutrientValue}_{InputItem} = {\frac{{Quantity}_{InputItem}}{{ReferenceQuantity}_{Nutrient}} \times {NutrientValue}_{InputItem}}$

In case the input item is a product of an underlying recipe then the term NutrientValue_(InputItem) is the following:

NutrientValue_(InputItem)=NutrientValue_(PrimaryOutputofUnderlyingRecipe)

Considering the example a Table 1000 in FIG. 10 shows an example calculation for Vitamin C. Table 1000 includes several columns having labels that are the same as table 900 and are numbered accordingly. Additional columns include a FLG_OUT column 1010, calculation nutrient value column 1015 and Vitamin C [MG] column 1020. The storage loss is calculated on top of the process loss. That means the storage loss is calculated as: NutrientVaqlueInclStorageLoss=NutrientValueInclProcessLoss×StorageLoss. A table 1100 in FIG. 11 illustrates example calculations for Vitamin C, and includes several columns with reference numbers consistent with tables 900 and 1000. In addition, a calculation storage loss column 1110 and a vitamin C after storage loss in MG column 1115 are provided.

Note that the storage loss can be calculated for storage of materials prior to use in the recipe, between stages of a recipe, and following completion of the recipe based on an estimated shipping time prior to being made available in a retail store.

FIG. 12 is a block schematic diagram of a computer system 1200 to implement one or more algorithms according to an example embodiment. In one embodiment, multiple such computer systems are utilized in a distributed network to implement multiple components in a transaction based environment. An object-oriented, service-oriented, or other architecture may be used to implement such functions and communicate between the multiple systems and components.

One example computing device in the form of a computer 1200, may include a processing unit 1202, memory 1203, removable storage 1210, and non-removable storage 1212. Memory 1203 may include volatile memory 1214 and non-volatile memory 1208. Computer 1200 may include—or have access to a computing environment that includes—a variety of computer-readable media, such as volatile memory 1214 and non-volatile memory 1208, removable storage 1210 and non-removable storage 1212. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. Computer 1200 may include or have access to a computing environment that includes input 1206, output 1204, and a communication connection 1216. The computer may operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers. The remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN) or other networks.

Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 1202 of the computer 1200. A hard drive, CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium. For example, a computer program 1218 capable of providing a generic technique to perform access control check for data access and/or for doing an operation on one of the servers in a component object model (COM) based system may be included on a CD-ROM and loaded from the CD-ROM to a hard drive. The computer-readable instructions allow computer 1200 to provide generic access controls in a COM based computer network system having multiple users and servers.

Examples

1. A method comprising:

exploding a recipe, via a computer system for a process to make an end food product, into a set of hierarchical process steps;

obtaining nutrient values for each input material to be used in making the end food product;

obtaining nutrient loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process; and

performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.

2. The method of example 1 wherein storage losses are calculated on top of process losses.

3. The method of any of examples 1-2 wherein the process loss profile is a percentage of a nutrient value lost during a process step.

4. The method of any of examples 1-3 wherein a storage loss profile is a percentage of nutrient value lost during storage of a material.

5. The method of any of examples 1-4 wherein performing a hierarchical nutrient loss calculation comprises building an equation system for each process output.

6. The method of example 5 wherein exploding the recipe results in a graph showing the input and output flows between stages of the recipe.

7. The method of example 6 wherein the equation systems are built into a matrix based on the graph.

8. The method of example 7 wherein the matrix is transformed into reduced row echelon form.

9. A computer readable storage device having instructions for causing a computer to execute a method, the method comprising:

exploding a recipe for a process to make an end food product, into a set of hierarchical process steps;

obtaining nutrient values for each input material to be used in making the end food product;

obtaining nutrient loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process; and

performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.

10. The computer readable storage device of example 9 wherein storage losses are calculated on top of process losses.

11. The computer readable storage device of any of examples 9-10 wherein the process loss profile is a percentage of a nutrient value lost during a process step.

12. The computer readable storage device of any of examples 9-11 wherein a storage loss profile is a percentage of nutrient value lost during storage of a material.

13. The computer readable storage device of any of examples 9-12 wherein performing a hierarchical nutrient loss calculation comprises building an equation system for each process output.

14. The computer readable storage device of example 13 wherein exploding the recipe results in a graph showing the input and output flows between stages of the recipe.

15. The computer readable storage device of example 14 wherein the equation systems are built into a matrix based on the graph.

16. The computer readable storage device of example 15 wherein the matrix is transformed into reduced row echelon form.

17. A system comprising:

a processor;

a storage device coupled to the processor, the storage device having a program to perform a method when executed by the processor, the method comprising;

-   -   exploding a recipe for a process to make an end food product,         into a set of hierarchical process steps;     -   obtaining nutrient values for each input material to be used in         making the end food product;     -   obtaining loss profiles for input materials, the nutrient loss         profiles including a process loss profile for steps in the         process to make the end food product and a storage loss profile         for storing intermediate food product resulting during the         process; and     -   performing a hierarchical based nutrient loss calculation using         the nutrient values and loss profiles to quantify nutrients         remaining in the end food product.

18. The system of example 17 wherein storage losses are calculated on top of process losses, wherein the process loss profile is a percentage of a nutrient value lost during a process step, and wherein a storage loss profile is a percentage of nutrient value lost during storage of a material.

19. The system of example 18 wherein performing a hierarchical nutrient loss calculation comprises building an equation system for each process output, and wherein exploding the recipe results in a graph showing the input and output flows between stages of the recipe.

20. The system of example 19 wherein the equation systems are built into a matrix based on the graph, and wherein the matrix is transformed into reduced row echelon form.

Although a few embodiments have been described in detail above, other modifications are possible. For example, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Other embodiments may be within the scope of the following claims. 

1. A method comprising: exploding a recipe, via a computer system for a process to make an end food product, into a set of hierarchical process steps; obtaining nutrient values for each input material to be used in making the end food product; obtaining nutrient loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process; and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.
 2. The method of claim 1 wherein storage losses are calculated on top of process losses.
 3. The method of claim 1 wherein the process loss profile is a percentage of a nutrient value lost during a process step.
 4. The method of claim 1 wherein a storage loss profile is a percentage of nutrient value lost during storage of a material.
 5. The method of claim 1 wherein performing a hierarchical nutrient loss calculation comprises building an equation system for each process output.
 6. The method of claim 5 wherein exploding the recipe results in a graph showing the input and output flows between stages of the recipe.
 7. The method of claim 6 wherein the equation systems are built into a matrix based on the graph.
 8. The method of claim 7 wherein the matrix is transformed into reduced row echelon form.
 9. A computer readable storage device having instructions for causing a computer to execute a method, the method comprising: exploding a recipe for a process to make an end food product, into a set of hierarchical process steps; obtaining nutrient values for each input material to be used in making the end food product; obtaining nutrient loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process; and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.
 10. The computer readable storage device of claim 9 wherein storage losses are calculated on top of process losses.
 11. The computer readable storage device of claim 9 wherein the process loss profile is a percentage of a nutrient value lost during a process step.
 12. The computer readable storage device of claim 9 wherein a storage loss profile is a percentage of nutrient value lost during storage of a material.
 13. The computer readable storage device of claim 9 wherein performing a hierarchical nutrient loss calculation comprises building an equation system for each process output.
 14. The computer readable storage device of claim 13 wherein exploding the recipe results in a graph showing the input and output flows between stages of the recipe.
 15. The computer readable storage device of claim 14 wherein the equation systems are built into a matrix based on the graph.
 16. The computer readable storage device of claim 15 wherein the matrix is transformed into reduced row echelon form.
 17. A system comprising: a processor; a storage device coupled to the processor, the storage device having a program to perform a method when executed by the processor, the method comprising; exploding a recipe for a process to make an end food product, into a set of hierarchical process steps; obtaining nutrient values for each input material to be used in making the end food product; obtaining loss profiles for input materials, the nutrient loss profiles including a process loss profile for steps in the process to make the end food product and a storage loss profile for storing intermediate food product resulting during the process; and performing a hierarchical based nutrient loss calculation using the nutrient values and loss profiles to quantify nutrients remaining in the end food product.
 18. The system of claim 17 wherein storage losses are calculated on top of process losses, wherein the process loss profile is a percentage of a nutrient value lost during a process step, and wherein a storage loss profile is a percentage of nutrient value lost during storage of a material.
 19. The system of claim 18 wherein performing a hierarchical nutrient loss calculation comprises building an equation system for each process output, and wherein exploding the recipe results in a graph showing the input and output flows between stages of the recipe.
 20. The system of claim 19 wherein the equation systems are built into a matrix based on the graph, and wherein the matrix is transformed into reduced row echelon form. 